package com.lyshop.guiyingshanding.net;

import com.lyshop.guiyingshanding.bean.AddressBean;
import com.lyshop.guiyingshanding.bean.BankListBean;
import com.lyshop.guiyingshanding.bean.BindCardBean;
import com.lyshop.guiyingshanding.bean.CalendarBean;
import com.lyshop.guiyingshanding.bean.CalendarDetail;
import com.lyshop.guiyingshanding.bean.CreateOrderResultBean;
import com.lyshop.guiyingshanding.bean.CreateShopProductBean;
import com.lyshop.guiyingshanding.bean.CredentialBean;
import com.lyshop.guiyingshanding.bean.EXPRecordBean;
import com.lyshop.guiyingshanding.bean.FollowGreatPeopleInfo;
import com.lyshop.guiyingshanding.bean.FollowListBean;
import com.lyshop.guiyingshanding.bean.FollowOrderBean;
import com.lyshop.guiyingshanding.bean.FollowUserBean;
import com.lyshop.guiyingshanding.bean.FreshListBean;
import com.lyshop.guiyingshanding.bean.GifBean;
import com.lyshop.guiyingshanding.bean.GoodsTicketInfoBean;
import com.lyshop.guiyingshanding.bean.HeaderSelectBean;
import com.lyshop.guiyingshanding.bean.HomeData;
import com.lyshop.guiyingshanding.bean.ImageItemBean;
import com.lyshop.guiyingshanding.bean.ImportDialogBean;
import com.lyshop.guiyingshanding.bean.ImportantBean;
import com.lyshop.guiyingshanding.bean.IntegralRecordBean;
import com.lyshop.guiyingshanding.bean.IntegralTicketBean;
import com.lyshop.guiyingshanding.bean.InvestSchoolGroupBean;
import com.lyshop.guiyingshanding.bean.NewsNoticeBean;
import com.lyshop.guiyingshanding.bean.OrderInfoBean;
import com.lyshop.guiyingshanding.bean.RechargeBean;
import com.lyshop.guiyingshanding.bean.RechargeSettingBean;
import com.lyshop.guiyingshanding.bean.RedBagBean;
import com.lyshop.guiyingshanding.bean.RetailOrderBean;
import com.lyshop.guiyingshanding.bean.RetailTicketBean;
import com.lyshop.guiyingshanding.bean.SellOrderInfoBean;
import com.lyshop.guiyingshanding.bean.ShopGoodsListBean;
import com.lyshop.guiyingshanding.bean.SignBean;
import com.lyshop.guiyingshanding.bean.TakeMoneyTipsBean;
import com.lyshop.guiyingshanding.bean.TicketBean;
import com.lyshop.guiyingshanding.bean.TransfeRecordBean;
import com.lyshop.guiyingshanding.bean.TurnCardBean;
import com.lyshop.guiyingshanding.bean.TxLiveTokenBean;
import com.lyshop.guiyingshanding.bean.UserBalanceBean;
import com.lyshop.guiyingshanding.bean.UserBankCardBean;
import com.lyshop.guiyingshanding.bean.UserIdCardBean;
import com.lyshop.guiyingshanding.bean.UserInfoBean;
import com.lyshop.guiyingshanding.bean.UserMessageBean;
import com.lyshop.guiyingshanding.bean.VersionBean;
import com.lyshop.guiyingshanding.bean.WelfareTaskBean;
import com.zc.mychart.model.GoodsAllBean;

import java.util.List;

public interface Api {
    String COS_UPLOAD = "cos/credential";//腾讯云临时密钥获取
    String TX_LIVE_SDK = "user/getAdvFaceId";//获取人脸识别sdk配置
    String STATIC_HTML = "index/static_html";//banner图
    String REGISTER_CODE = "index/sys_reg_code";//获取验证码
    String REGISTER = "index/sys_user_reg";//注册
    String LOGIN = "index/sys_login";//登录
    String AUTH_ONE_KEY = "index/quick_login";//一键登录
    String USER_DETAIL = "user/get_account";//用户详情
    String SYS_RESET_PASSWORD_CODE = "index/sys_reset_password_code";//忘记密码验证码
    String RESET_PASSWORD = "index/sys_reset_password";//忘记密码
    String APP_LIST = "index/goods_all_now"; //交易所列表
    String NEW_NOTICE = "index/news_list_notice";//首页公告
    String IMPORTANT = "index/important_data";//重要数据
    String ORDER_SQUARE = "index/order_profit";//牛单广场
    String RETAIL_GOOD = "index/retail_goods";//零售商品
    String FOLLOW_LIST = "index/arena_order_list";//跟单列表
    String GIF_LIST = "index/gif_list";//活动列表
    String K_MAP = "index/k_map";//k线图数据
    String PAY_LIST = "user/pay_list";//支付列表
    String CARD_LIST = "user/card_list";//充值渠道
    String USER_SAVING = "user/user_saving";//去充值
    String UPLOAD_CERT = "user/upload_cert_ocr";//上传身份证
    String UPLOAD_CERT_CONFIRM = "user/upload_cert_confirm";//身份确认
    String CREATE_PRO = "order/create_pro";//去下单
    String WELFARE_LIST = "task/tasks_list";//福利列表
    String SIGN_POST = "task/sign_click_post";//签到
    String HOLD_ORDER_LIST = "order/user_no_manual_order";//持有订单列表
    String HISTORY_ORDER_LIST = "order/order_list";//历史订单
    String SELL_ORDER = "order/manual_liqui";//退订
    String EDIT_ORDER = "order/set_order_price";//修改订单
    String USER_ASK = "index/new_user_ask";//新手指南
    String RETAIL_TICKET = "user/usable_coupon";//零授券
    String TASKS_POST = "task/tasks_post";//任务领取
    String WITHDRAW_CODE = "user/withdraw_code";//提现验证码
    //    String WITHDRAW = "user/user_withdraw";//提现
    String WITHDRAW = "user/fundPwd/user_withdraw";//提现
    String WITHDRAW_TIPS = "index/withdrawal";//提现提示文案
    String UNBIND_CARD = "user/unbind_card";//解绑银行卡
    String USER_SAVING_CONFIM = "user/user_saving_confirm";//充值确认
    String INTEGRAL_TICKET = "user/integral_ticket_list";//积分商城列表
    String EXCHANGE_TICKET = "user/integral_ticket";//兑换代金券
    String BANK_LIST = "user/bank_list";//支持得银行
    String SIGN_DATA_LIST = "task/sign_click_list";//签到历史数据
    String UNBIND_CARD_WITHDRAW_CODE = "user/unbind_card_sms";//解绑提现卡获取验证码
    String ADDRESS_LIST = "address/list";//收货地址
    String CREATE_RETAIL = "order/create_retail";//零售商品下单
    String PICK_RETAIL = "order/create_product";//提货
    String DELETE_ADDRESS = "address/delete";//删除地址
    String CREATE_ADDRESS = "address/create";//添加地址
    String EDIT_ADDRESS = "address/edit";//添加地址
    String BIND_CARD = "user/bind_card";//绑定银行卡
    String CONFIRM_BIND_CARD = "user/bind_card_confirm";//确认绑定银行卡
    String TRANSFER_RECORD = "user/transfer_record";//资金记录
    String INTEGRAL_LOG = "user/integral_log";//积分记录
    String MESSAGE_LIST = "user/msg_list";//消息列表
    String MESSAGE_EDIT = "user/msg_edit";//消息列表
    String EXPERIENCE_LOG = "user/experience_log";//经验记录
    String USER_TICKET = "user/user_ticket";//代金券列表
    String AVATAR_LIST = "user/avatar_list";//头像列表
    String EDIT_AVATAR = "user/edit_user_avatar";//修改头像
    String EDIT_NICKNAME = "user/edit_user_nickname";//修改昵称
    String RETAIL_ORDER = "order/retail_order";//零售订单列表
    String CONFIRM_PRODUCT = "order/confirm_product";//零售订单确认
    String MY_FOLLOW_ORDER = "user/followOrder";//我的跟单
    String FOLLOW_USER = "user/follow_user";//关注/取消关注
    String FOLLOW_USER_List = "user/follow_list";//关注/粉丝列表
    String RETAIL_TICKET_LIST = "user/retail_ticket";//零售券列表
    String PUSH_LIST = "user/push_list";//新手券下单轮询
    String PUSH_SUCCESS = "user/push_success";//新手券结果上报
    String UPDATE_VERSION = "index/version";//版本检测
    String FOLLOW_ORDER_GREAT_INFO = "index/arena_info";//高手用户信息
    String NOTICE_UNREAD = "notice/unread";//重要通知
    String NOTICE_READ = "notice/read";//上报通知已读
    String REDBAG_LIST = "activity/hby/record";//红包雨查询
    String REDBAG_DRAW = "activity/hby/receive";//红包雨抽奖
    String TURN_CARD_LIST = "activity/fp/record";//翻牌查询
    String TURN_CARD_DRAW = "activity/fp/receive";//翻牌抽奖
    String AD_POST = "index/ad_post";//推广上传
    String HOME_DATA = "index/home";//首页数据
    String USER_BALANCE = "user/balance";//获取用余额
    String SYS_GET_PAY_PASSWORD_CODE = "user/fundPwdCaptcha";//获取资金验证码
    String SET_PAY_PASSWORD = "user/fundPwd";//设置交易密码

    void getTxLiveSdk(String cert_no, String user_nam, ApiCallBack<ApiResponse<TxLiveTokenBean>> callBack);

    void getCosUpload(ApiCallBack<ApiResponse<CredentialBean>> callBack);

    void getBankList(String tcId, ApiCallBack<ApiResponse<List<BankListBean>>> callBack);

    void getBanner(String type, ApiCallBack<ApiResponse<List<ImageItemBean>>> callBack);

    void getRegisterCode(String mobile, ApiCallBack<ApiResponse<Void>> callBack);

    void register(String mobile, String code, String trade_password, String pushId, ApiCallBack<ApiResponse<Void>> callBack);

    void login(String mobile, String password, String pushId, ApiCallBack<ApiResponse<UserInfoBean>> callBack);

    void authOneKey(String token, String pushId, ApiCallBack<ApiResponse<UserInfoBean>> callBack);

    void getUserDetail(ApiCallBack<ApiResponse<UserInfoBean>> callBack);

    void resetPasswordCode(String mobile, int type, ApiCallBack<ApiResponse<Void>> callBack);

    void resetPassword(String mobile, String code, String password, ApiCallBack<ApiResponse<Void>> callBack);

    void getAllList(ApiCallBack<ApiResponse<List<GoodsAllBean>>> callBack);

    void getNewNoticeList(ApiCallBack<ApiResponse<List<NewsNoticeBean>>> callBack);

    void getImportant(ApiCallBack<ApiResponse<ImportantBean>> callBack);

    void getOrderSquare(ApiCallBack<ApiResponse<List<SellOrderInfoBean>>> callBack);

    void getRetailGoods(int page, ApiCallBack<ApiResponse<List<ShopGoodsListBean>>> callBack);

    void getFollowList(int page, boolean openTime, String contract, boolean follow, String level, ApiCallBack<ApiResponse<List<FollowOrderBean>>> callBack);

    void getGifList(ApiCallBack<ApiResponse<List<GifBean>>> callBack);

    void getKMap(String pro_code, String type, ApiCallBack<ApiResponse<List<List<Double>>>> callBack);

    void getPayList(ApiCallBack<ApiResponse<RechargeSettingBean>> callBack);

    void getWelfareList(ApiCallBack<ApiResponse<WelfareTaskBean>> callBack);

    void signPost(ApiCallBack<ApiResponse<Void>> callBack);

    void getCardList(String channel_id, ApiCallBack<ApiResponse<UserBankCardBean>> callBack);

    void userSaving(int code, int amount, ApiCallBack<ApiResponse<RechargeBean>> callBack);

    void userSaving(String code, String amount, String card_no, String phone, String card_user_name, String cert_no, String bank, ApiCallBack<ApiResponse<RechargeBean>> callBack);

    void uploadCert(String back, String front, ApiCallBack<ApiResponse<UserIdCardBean>> callBack);

    void uploadCertConfirm(String name, String request_id, ApiCallBack<ApiResponse<Void>> callBack);

    void createPro(OrderInfoBean order, ApiCallBack<ApiResponse<CreateOrderResultBean>> callBack);

    void getHoldOrderList(ApiCallBack<ApiResponse<List<OrderInfoBean>>> callBack);

    void getHistoryOrderList(int page, ApiCallBack<ApiResponse<List<OrderInfoBean>>> callBack);

    void sellOrder(String order_id, ApiCallBack<ApiResponse<Void>> callBack);

    void editOrderInfo(String order_id, int target_profit, int stop_loss, ApiCallBack<ApiResponse<Void>> callBack);

    void getInvestSchoolList(ApiCallBack<ApiResponse<List<InvestSchoolGroupBean>>> callBack);

    void getRetailTicket(String goods_id, int sceneType, ApiCallBack<ApiResponse<GoodsTicketInfoBean>> callBack);

    void getTaskszIntegral(String list_id, String tasks_id, ApiCallBack<ApiResponse<Void>> callBack);

    void takeMoneyGetCode(ApiCallBack<ApiResponse<Void>> callBack);

    void takeMoneySubmit(String amount, String channel_id, String sms_code, ApiCallBack<ApiResponse<Void>> callBack);

    void takeMoneyTips(ApiCallBack<ApiResponse<TakeMoneyTipsBean>> callBack);

    void unbindCard(String channel_id, String code, ApiCallBack<ApiResponse<Void>> callBack);

    void userRechargeConfirm(String bind_card_id, String order_no, String code, ApiCallBack<ApiResponse<Void>> callBack);

    void getIntegralTicketListData(ApiCallBack<ApiResponse<List<IntegralTicketBean>>> callBack);

    void exchangeTicket(String list_id, ApiCallBack<ApiResponse<Void>> callBack);

    void getSignDataList(ApiCallBack<ApiResponse<List<SignBean>>> callBack);

    void getUnbindCardCode(ApiCallBack<ApiResponse<Void>> callBack);

    void getAddressList(ApiCallBack<ApiResponse<List<AddressBean>>> callBack);

    void createShopOrder(CreateShopProductBean bean, ApiCallBack<ApiResponse<Void>> callBack);

    void deleteAddress(String id, ApiCallBack<ApiResponse<Void>> callBack);

    void createAddress(AddressBean mAddressBean, ApiCallBack<ApiResponse<Void>> callBack);

    void editAddress(AddressBean mAddressBean, ApiCallBack<ApiResponse<Void>> callBack);

    void createProduct(CreateShopProductBean bean, ApiCallBack<ApiResponse<Void>> callBack);

    void bindCard(String channel_id, String card_no, String phone, String cert_no, String bank_code, String card_user_name, ApiCallBack<ApiResponse<BindCardBean>> callBack);

    void confirmBindCard(String bind_card_id, String order_no, String check_rest, String sms_code, String base64Img, ApiCallBack<ApiResponse<Void>> callBack);

    void getTransfeRecord(String transferType, int page, ApiCallBack<ApiResponse<List<TransfeRecordBean>>> callBack);

    void getIntegralLog(String integral_type, String month, int page, ApiCallBack<ApiResponse<List<IntegralRecordBean>>> callBack);

    void getMsgList(int page, ApiCallBack<ApiResponse<List<UserMessageBean>>> callBack);

    void getExperienceLog(int page, ApiCallBack<ApiResponse<List<EXPRecordBean>>> callBack);

    void getUserTicketList(String type, int page, ApiCallBack<ApiResponse<List<TicketBean>>> callBack);

    void getAvatarList(ApiCallBack<ApiResponse<List<HeaderSelectBean>>> callBack);

    void editUserAvatar(String header_id, ApiCallBack<ApiResponse<Void>> callBack);

    void editUserNickName(String nickname, ApiCallBack<ApiResponse<Void>> callBack);

    void getRetailOrderList(String status, String orderType, int page, ApiCallBack<ApiResponse<List<RetailOrderBean>>> callBack);

    void confirmOrder(String order_id, ApiCallBack<ApiResponse<Void>> callBack);

    void getMyFollowOrder(int page, String userId, ApiCallBack<ApiResponse<List<FollowOrderBean>>> callBack);

    void followUser(FollowUserBean bean, ApiCallBack<ApiResponse<Void>> callBack);

    void followList(int type, int page, ApiCallBack<ApiResponse<List<FollowListBean>>> callBack);

    void getRetailTicketList(ApiCallBack<ApiResponse<List<RetailTicketBean>>> callBack);

    void editPushMsg(String msgIds, ApiCallBack<ApiResponse<Void>> callBack);

    void loopPushList(ApiCallBack<ApiResponse<FreshListBean>> callBack);

    void uploadPushId(String id, ApiCallBack<ApiResponse<Void>> callBack);

    void updateVersion(String type, ApiCallBack<ApiResponse<VersionBean>> callBack);

    void getFollowGreatPeopleInfo(String userId, ApiCallBack<ApiResponse<FollowGreatPeopleInfo>> callBack);

    void getCalendarData(String date, ApiCallBack<List<CalendarBean>> callBack);

    void getCalendarDetail(String id, ApiCallBack<CalendarDetail> callBack);

    void getImportNoticeDialog(ApiCallBack<ApiResponse<ImportDialogBean>> callBack);

    void readNotice(String id, ApiCallBack<ApiResponse<Void>> callBack);

    void getRedBagList(ApiCallBack<ApiResponse<List<RedBagBean>>> callBack);

    void drawRedBag(ApiCallBack<ApiResponse<Void>> callBack);

    void getTurnCardList(ApiCallBack<ApiResponse<TurnCardBean>> callBack);

    void drawTurnCard(ApiCallBack<ApiResponse<TurnCardBean>> callBack);

    void adPost(ApiCallBack<ApiResponse<Void>> callBack);

    void getHomeData(String type, ApiCallBack<ApiResponse<HomeData>> callBack);

    void getUserBalance(ApiCallBack<ApiResponse<UserBalanceBean>> callBack);

    void getPayPasswordCode(ApiCallBack<ApiResponse<Void>> callBack);

    void setPayPassword(String code, String password, String confirmPasswrod,ApiCallBack<ApiResponse<Void>> callBack);
}
